#pragma once

//用于记录图书借出，归还，入库等日期
class Date
{
private:
	int year;
	int month;
	int day;

public:
	//构造函数
	Date(int y = 2023, int m = 1, int d = 1);
	//复制构造函数
	Date(const Date& date);
	//析构函数
	~Date(){}
	//归还日期的构造函数
    //(由借出日期和可借出时间计算应归还日期)
	Date(const Date& borrowDay, int borrowTime);

	//显示日期(可选最后有无换行)
	void showDate() const;
	//设置日期
	void setDate(int y = 2023, int m = 1, int d = 1);

#pragma region 返回年月日数据

	//返回年
	int getYear() const;
	//返回月
	int getMonth() const;
	//返回日
	int getDay() const;

#pragma endregion

	//判断是否为闰年
	bool isLeepYear() const;
	//判断日期合法性
	bool isDateRight() const;


	friend class ReaderBorrowBook;
};
